package cn.jimmie.learn.viewArt.ball;


/**
 * function : 对外的代理接口
 *
 * <p> Create Time: 2018年12月31日 09:37 </p>
 * <p> @author Jimmie.Qian  </p>
 */
interface IProxy {
    /**
     * 需要依附到window上时调用
     */
    void attacheToWindow();

    /**
     * 将悬浮球从windows上移除(可以不手动移除, 代码中会监听所依附的activity的生命周期,页面不见时,将被销毁)
     */
    void detachFromWindow();

    /**
     * 检查悬浮球是否添加到了window
     */
    boolean isAttached();

    /**
     * 添加浮白信息
     */
    void addMessage(AssistBall.Message message, AssistBall.OnAssistPopEventListener listener);

    /**
     * 添加浮白信息
     */
    void addMessage(AssistBall.Message message);

    /**
     * 更新ping值
     */
    void updatePing(int ping);

    /**
     * 设置小红点
     */
    void setRedDot(boolean visibility);

    /**
     * 设置悬浮球监听
     */
    void setBallEventListener(AssistBall.OnAssistBallEventListener listener);
}
